package CreationModel.SingletonModel;

/**
 * 懒汉式：单例设计模式
 * 1. 构造函数私有化
 * 2. 初始化
 * 3. 静态方法获取实例
 * @author 王蕾 [wanglei_dev@cyou-inc.com]
 * @date 2017-11-24 14:39:00
 */
public class LazySingleton {
    //私有化构造函数，保证外界无法初始化
    private LazySingleton(){}

    private static LazySingleton singleton = null;

    //提供对外的获取实例方法，没有在初始化
    public static synchronized LazySingleton getSingleton(){
        if (singleton==null)
        {
            return new LazySingleton();
        }
        return singleton;
    }
}
